package cn.toutatis.basics

import java.util.*

/**
 * 11-数组
 * 数组在 Kotlin 中使用 Array 类来表示，
 * 它定义了 get 与 set 函数（按照运算符重载约定这会转变为 []）以及 size 属性，以及一些其他有用的成员函数
 */
fun main(): Unit {

    /*我们可以使用库函数 arrayOf() 来创建一个数组并传递元素值给它，
    这样 arrayOf(1, 2, 3) 创建了 array [1, 2, 3]。 */
    val arr = arrayOf(1, 2, 3)
//    System.err.println(arr.contentToString())
    System.err.println(Arrays.toString(arr))

    /*库函数 arrayOfNulls() 可以用于创建一个指定大小的、所有元素都为空的数组。*/
    val ofNulls = arrayOfNulls<String>(5)
    ofNulls[1] =  "5555ab"
    for (ofNull in ofNulls) {
        System.err.println(ofNull)
    }

    /*arr可以接受表达式,以索引来计算value*/
    val asc: Array<String> = Array(5) { i -> (i * i).toString() }
    asc.forEach { println(it) }
}